Netty 프로젝트 창시자이자 Apache MINA 프로젝트 공동 창시자입니다.
LINE DEV Meetup #11 'LINE 서버 개발자들이 말한다! Armeria 아직도 안 써요?'에서 이희승 님이 발표하신 'Three Principles of a Good Framework' 세션 내용을 옮긴 글입니다. 안녕하세요. LINE에서 Armeria를 개발했고 현재는 Databricks로 옮겨 RPC 프레임워크 관련 작업을 진행하고 있는 이희승입니다. 이번 글에서는 Armeria 개발 뒤에 숨겨진 세 가지 원칙이 무엇인지 소개하려고 합니다. 많은 분들이 이 세 가지 원칙을 이해하시고 현재 진행하고 있는 혹은 진행하게 될 프로젝트에 적용하면 좋을 것 같다는 생각이 들어서 이렇게 자리를 마련했습니다. 좋은 프레임워크의 세 가지 원칙 Armeria 홈페이지에 들어가면 Armeria의 슬로건과 함께 간단하게 프로젝트 설명이 나옵니다. 이 화면이 Armeria 프로젝트가 어떤 철학을 바탕으로 운영되고, 개발되고 있는지
Armeria는 Java 8 및 Netty 상에 비동기 RPC/API 클라이언트-서버를 구현한 것입니다. LINE은 작년 11월 Armeria를 Apache License 2.0이 적용되는 오픈소스 프로젝트로 배포했습니다. Armeria는 HTTP/2를 세션 레이어 프로토콜로 사용하는 고성능의 비동기 Thrift 클라이언트/서버를 구축하기 위해 만든 프로젝트이지만, 기본적으로 프로토콜의 제약을 받지 않으며 확장성이 뛰어납니다. (예를 들어, HTTP/2를 통해 정적 파일 디렉토리를 처리하는 동시에 Java EE 웹 애플리케이션을 실행할 수 있습니다.) 이 블로그에서는 기술적 측면에 초점을 맞추기 보다는 내부 프로젝트를 오픈소스로 만들어가면서 겪었던 과정을 소개하고자 합니다. Armeria의 기술적 내용을 알고 싶으시다면 지난 2월 개발자들을 대상으로 개최한 제14회 LINE Developer Meetup에서 발표한 슬라이드 자료를 참고 바랍니다. 프로젝트 이력 정리 내부 프로젝